pub fn math(op: fn(i32, i32) -> i32, a: i32, b: i32) -> i32 {
	op(a, b)
}
fn sum(a: i32, b: i32) -> i32 {
	a + b
}
fn product(a: i32, b: i32) -> i32 {
	a * b
}

fn test_funcptr(){
	let a = 2;
	let b = 3;
	assert_eq!(math(sum, a, b), 5);
	assert_eq!(math(product, a, b), 6);
}

fn main() {
	test_funcptr();
	
	let n = 13;
	let big_n = if n<10 && n> -10 {
		10 * n
	} else {
		n / 2	
	};
	assert_eq!(big_n , 6);
}